↳ ITRS
↳ ITRStoIDPProof
z
sqrtAcc(x, y) → condAcc(||(>=@z(*@z(y, y), x), <@z(y, 0@z)), x, y)
condAcc(FALSE, x, y) → sqrtAcc(x, +@z(y, 1@z))
sqrt(x) → sqrtAcc(x, 0@z)
condAcc(TRUE, x, y) → y
sqrtAcc(x0, x1)
condAcc(FALSE, x0, x1)
sqrt(x0)
condAcc(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
z
sqrtAcc(x, y) → condAcc(||(>=@z(*@z(y, y), x), <@z(y, 0@z)), x, y)
condAcc(FALSE, x, y) → sqrtAcc(x, +@z(y, 1@z))
sqrt(x) → sqrtAcc(x, 0@z)
condAcc(TRUE, x, y) → y
(0) -> (2), if ((x[0] →* x[2]))
(1) -> (2), if ((+@z(y[1], 1@z) →* y[2])∧(x[1] →* x[2]))
(2) -> (1), if ((x[2] →* x[1])∧(y[2] →* y[1])∧(||(>=@z(*@z(y[2], y[2]), x[2]), <@z(y[2], 0@z)) →* FALSE))
sqrtAcc(x0, x1)
condAcc(FALSE, x0, x1)
sqrt(x0)
condAcc(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
z
(0) -> (2), if ((x[0] →* x[2]))
(1) -> (2), if ((+@z(y[1], 1@z) →* y[2])∧(x[1] →* x[2]))
(2) -> (1), if ((x[2] →* x[1])∧(y[2] →* y[1])∧(||(>=@z(*@z(y[2], y[2]), x[2]), <@z(y[2], 0@z)) →* FALSE))
sqrtAcc(x0, x1)
condAcc(FALSE, x0, x1)
sqrt(x0)
condAcc(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
z
(2) -> (1), if ((x[2] →* x[1])∧(y[2] →* y[1])∧(||(>=@z(*@z(y[2], y[2]), x[2]), <@z(y[2], 0@z)) →* FALSE))
(1) -> (2), if ((+@z(y[1], 1@z) →* y[2])∧(x[1] →* x[2]))
sqrtAcc(x0, x1)
condAcc(FALSE, x0, x1)
sqrt(x0)
condAcc(TRUE, x0, x1)
(1) (+@z(y[1], 1@z)=y[2]∧x[1]=x[2]∧x[2]=x[1]1∧||(>=@z(*@z(y[2], y[2]), x[2]), <@z(y[2], 0@z))=FALSE∧y[2]=y[1]1 ⇒ CONDACC(FALSE, x[1]1, y[1]1)≥NonInfC∧CONDACC(FALSE, x[1]1, y[1]1)≥SQRTACC(x[1]1, +@z(y[1]1, 1@z))∧(UIncreasing(SQRTACC(x[1]1, +@z(y[1]1, 1@z))), ≥))
(2) (>=@z(*@z(+@z(y[1], 1@z), +@z(y[1], 1@z)), x[2])=FALSE∧<@z(+@z(y[1], 1@z), 0@z)=FALSE ⇒ CONDACC(FALSE, x[2], +@z(y[1], 1@z))≥NonInfC∧CONDACC(FALSE, x[2], +@z(y[1], 1@z))≥SQRTACC(x[2], +@z(+@z(y[1], 1@z), 1@z))∧(UIncreasing(SQRTACC(x[1]1, +@z(y[1]1, 1@z))), ≥))
(3) (-2 + x[2] + (-2)y[1] + (-1)y[1]2 ≥ 0∧1 + y[1] ≥ 0 ⇒ (UIncreasing(SQRTACC(x[1]1, +@z(y[1]1, 1@z))), ≥)∧-3 + (-1)Bound + x[2] + (-2)y[1] ≥ 0∧0 ≥ 0)
(4) (-2 + x[2] + (-2)y[1] + (-1)y[1]2 ≥ 0∧1 + y[1] ≥ 0 ⇒ (UIncreasing(SQRTACC(x[1]1, +@z(y[1]1, 1@z))), ≥)∧-3 + (-1)Bound + x[2] + (-2)y[1] ≥ 0∧0 ≥ 0)
(5) (-2 + x[2] + (-2)y[1] + (-1)y[1]2 ≥ 0∧1 + y[1] ≥ 0 ⇒ 0 ≥ 0∧-3 + (-1)Bound + x[2] + (-2)y[1] ≥ 0∧(UIncreasing(SQRTACC(x[1]1, +@z(y[1]1, 1@z))), ≥))
(6) (x[2] ≥ 0∧1 + y[1] ≥ 0 ⇒ 0 ≥ 0∧-1 + (-1)Bound + y[1]2 + x[2] ≥ 0∧(UIncreasing(SQRTACC(x[1]1, +@z(y[1]1, 1@z))), ≥))
(7) (x[2] ≥ 0∧1 + y[1] ≥ 0∧y[1] ≥ 0 ⇒ 0 ≥ 0∧-1 + (-1)Bound + y[1]2 + x[2] ≥ 0∧(UIncreasing(SQRTACC(x[1]1, +@z(y[1]1, 1@z))), ≥))
(8) (x[2] ≥ 0∧1 + (-1)y[1] ≥ 0∧y[1] ≥ 0 ⇒ 0 ≥ 0∧-1 + (-1)Bound + y[1]2 + x[2] ≥ 0∧(UIncreasing(SQRTACC(x[1]1, +@z(y[1]1, 1@z))), ≥))
(9) (SQRTACC(x[2], y[2])≥NonInfC∧SQRTACC(x[2], y[2])≥CONDACC(||(>=@z(*@z(y[2], y[2]), x[2]), <@z(y[2], 0@z)), x[2], y[2])∧(UIncreasing(CONDACC(||(>=@z(*@z(y[2], y[2]), x[2]), <@z(y[2], 0@z)), x[2], y[2])), ≥))
(10) ((UIncreasing(CONDACC(||(>=@z(*@z(y[2], y[2]), x[2]), <@z(y[2], 0@z)), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(11) ((UIncreasing(CONDACC(||(>=@z(*@z(y[2], y[2]), x[2]), <@z(y[2], 0@z)), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(12) (0 ≥ 0∧(UIncreasing(CONDACC(||(>=@z(*@z(y[2], y[2]), x[2]), <@z(y[2], 0@z)), x[2], y[2])), ≥)∧0 ≥ 0)
(13) (0 = 0∧0 ≥ 0∧0 = 0∧(UIncreasing(CONDACC(||(>=@z(*@z(y[2], y[2]), x[2]), <@z(y[2], 0@z)), x[2], y[2])), ≥)∧0 = 0∧0 = 0∧0 ≥ 0)
POL(>=@z(x1, x2)) = -1
POL(0@z) = 0
POL(SQRTACC(x1, x2)) = x1 + (-2)x2
POL(*@z(x1, x2)) = x1·x2
POL(TRUE) = 1
POL(||(x1, x2)) = 1
POL(+@z(x1, x2)) = x1 + x2
POL(CONDACC(x1, x2, x3)) = (-1)x1 + x2 + (-2)x3
POL(FALSE) = 1
POL(<@z(x1, x2)) = -1
POL(1@z) = 1
POL(undefined) = -1
CONDACC(FALSE, x[1], y[1]) → SQRTACC(x[1], +@z(y[1], 1@z))
SQRTACC(x[2], y[2]) → CONDACC(||(>=@z(*@z(y[2], y[2]), x[2]), <@z(y[2], 0@z)), x[2], y[2])
CONDACC(FALSE, x[1], y[1]) → SQRTACC(x[1], +@z(y[1], 1@z))
||(FALSE, FALSE)1 ↔ FALSE1
||(TRUE, TRUE)1 ↔ TRUE1
||(TRUE, FALSE)1 ↔ TRUE1
TRUE1 → ||(FALSE, TRUE)1
+@z1 ↔
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
sqrtAcc(x0, x1)
condAcc(FALSE, x0, x1)
sqrt(x0)
condAcc(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
z
sqrtAcc(x0, x1)
condAcc(FALSE, x0, x1)
sqrt(x0)
condAcc(TRUE, x0, x1)